#include <math.h>

#ifndef D_VECF_H
#define D_VECF_H

namespace d_Math
{
	class d_Vecf
	{
	public:
		float *p;
		int vec_size;
		d_Vecf();
		d_Vecf(int n);
		void set_size(int size);
		int get_size()
		{
			return vec_size;
		}
		d_Vecf get_part(int start, int end);
		void set_part(int start, d_Vecf part);
		float &operator [] (int index) {return p[index];}
		d_Vecf operator = (d_Vecf a) 
		{
			for (int i=0; i<vec_size; i++) 
			{
				p[i] = a.p[i];
			}
			return *this;
		}
		d_Vecf operator + (d_Vecf a);
		d_Vecf operator - (d_Vecf a);
		float operator * (d_Vecf a);
		d_Vecf operator * (d_Matf m);
		d_Vecf operator * (float a);
		d_Vecf operator / (float a);
		d_Vecf operator + (void) const;
		d_Vecf operator - (void) const;

		void print();
	};
}

#endif //D_VECF_H

